package com.aorise.service.system;


import com.aorise.model.request.UpdateRoleReq;
import com.aorise.model.response.RoleInfoRes;
import com.aorise.model.system.Role;
import com.aorise.model.system.User;
import com.aorise.utils.Page;

import java.util.List;

/**
 * @Auther: zhouhao
 * @Date: 2019/4/26
 * @Description:
 */
public interface RoleService extends BaseService{

    /**
     * 根据用户ID 查询当前用户的角色
     * @param user
     * @return
     */
    List<Role> selectByUserId(User user);

    /**
     * 添加角色
     * @param roleName
     * @param permissions
     * @return
     */
    Boolean addRole(String roleName,List<Integer> permissions);

    /**
     * 分页查询所以角色列表页
     * @param roleName  角色名
     * @param pageSize  每页数量
     * @param pageNum   当前页
     * @return
     */
    Page selectPageRole(String roleName, Integer pageSize, Integer pageNum);

    /**
     * 删除角色
     * @param roleId    角色ID
     * @return
     */
    Boolean delRole (Integer roleId);

    /**
     * 编辑角色
     * @param updateRoleReq
     * @return
     */
    boolean updateRole(UpdateRoleReq updateRoleReq);

    /**
     * 所有角色
     * @return
     */
    List<RoleInfoRes> selectAllRole();
}
